package com.zygh.coordinatestore.util;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;

public class RandomLonLat {
    /**
     * @param MinLon：最新经度 MaxLon： 最大经度   MinLat：最新纬度   MaxLat：最大纬度    type：设置返回经度还是纬度
     * @return 118.887904, 42.264072    113.617078,34.759435
     * @throws
     * @Title: randomLonLat
     * @Description: 在矩形内随机生成经纬度
     */
    public static String randomLonLat(double MinLon, double MaxLon, double MinLat, double MaxLat) {
        Random random = new Random();
        BigDecimal db = new BigDecimal(Math.random() * (MaxLon - MinLon) + MinLon);
        String lon = db.setScale(6, BigDecimal.ROUND_HALF_UP).toString();// 小数后6位
        db = new BigDecimal(Math.random() * (MaxLat - MinLat) + MinLat);
        String lat = db.setScale(6, BigDecimal.ROUND_HALF_UP).toString();
        return lon + "," + lat;
    }

    /**
     * 随机生成20个坐标点
     * @return
     */
    public static String randomGps() {
        String randomgps = null;
        for (int i = 0; i < 100; i++) {
            String s = randomLonLat(113.617078, 118.887904, 34.759435, 42.264072);
            if (randomgps == null) {
                randomgps = s;
            }
            else
            randomgps = randomgps + ";" + s;
        }
        return randomgps;
    }

//    public static void main(String[] args) {
//        /*Map<String, String> jw = randomLonLats(85, 122, 29, 116);
//        System.out.println(jw.get("J") + "," + jw.get("W"));*/
//        /*String s = randomLonLat(113.617078, 118.887904, 34.759435, 42.264072);
//        System.out.println(s);*/
//        //System.out.println(randomGps());
//
//
//    }

    /**
     * @param MinLon：最小经度 MaxLon： 最大经度
     *                    MinLat：最小纬度
     *                    MaxLat：最大纬度
     * @return @throws
     * @Description: 在矩形内随机生成经纬度
     */
    public static Map<String, String> randomLonLats(double MinLon, double MaxLon, double MinLat, double MaxLat) {
        BigDecimal db = new BigDecimal(Math.random() * (MaxLon - MinLon) + MinLon);
        String lon = db.setScale(6, BigDecimal.ROUND_HALF_UP).toString();// 小数后6位
        db = new BigDecimal(Math.random() * (MaxLat - MinLat) + MinLat);
        String lat = db.setScale(6, BigDecimal.ROUND_HALF_UP).toString();
        Map<String, String> map = new HashMap<String, String>();
        map.put("J", lon);
        map.put("W", lat);
        return map;
    }

}
